A data communications network transmits data among and between network devices (often referred to as nodes) which are physically and logically connected to the network. The physical configuration of a network changes when network devices are added to or removed from the network, and when physical connections between devices are made or changed. The logical configuration of a network changes as logical connections are established between communicating network devices utilizing the physical structure of the network. Network devices include devices that can send and/or receive data, as well as devices that can forward data. Network devices that can forward data are important in all but the very simplest networks. In most networks, direct connections do not exist between most network devices. Instead, each network device is connected to a limited number of adjacent network devices. For network devices to be able to communicate when they are not physically connected, the two communicating network devices rely on intermediate network devices to forward communications between them.
Data transmitted over data communications networks are generally referred to as packets or frames. Both of these terms relate to the same subject—data to be transmitted. A string of data is fragmented into packets at the sending network device and sent over the network to the receiving network device. The receiving network device assembles the individual packets in the correct order to reconstruct the original data string. The particular manner in which packet fragmentation and transmission occurs from one network layer to another is defined by the various data communication protocols. One prominent data communication protocol is Transmission Control Protocol, or TCP, and another is Internet Protocol, usually referred to simply as IP, or IP protocol. Other examples of data communication protocols are Multi-Protocol Label Switching, or MPLS, Border Gateway Protocol, or BGP, and User Datagram Protocol, or UDP.
Data communications networks can be conceptualized as comprising a hierarchy of communications layers that establish different types of connections between network devices. The Open Systems Interconnect (OSI) Reference Model developed by the International Standards Organization (ISO) is generally used to describe the structure and function of data communications protocols. A layer does not define a single protocol, but rather a data communications function that may be carried out by any number of protocols. Thus, each layer may contain various protocols, each offering a service appropriate to the function of that layer. The more basic functions are provided at the lower layers, while successively more sophisticated functions are provided at successively higher layers. In the OSI model, each lower layer in the model provides data communications capabilities or functions that are utilized by the next higher layer. A schematic illustration of the OSI seven-layer model is shown in FIG. 2. As seen in FIG. 2, the seven layers in the OSI model, beginning from the bottom, are physical layer 205, data link layer 210, network layer 215, transport layer 220, session layer 225, presentation layer 230, and application layer 235. In the OSI model, the IP protocol is commonly considered as being associated with the third layer, network layer 215.
In an IP network, each sending and receiving device is assigned a 32-bit address. The address is usually written as a series of four “octets” (e.g., numbers within a range of 0-255) separated by periods. Examples of IP addresses are 127.0.0.1, 205.160.34.112, 23.1.99.244, etc. Each IP packet sent over an IP network includes the sender's IP address and the recipient's IP address. The recipient's IP address is used to route the packet from the sending network device via intermediate network devices that have IP forwarding capabilities to the recipient network device.
An example of a simple network that illustrates IP forwarding and logical links is shown in FIG. 1. The network of FIG. 1 includes two types of network devices: non-IP-forwarding devices 105, 110, 115 and 120 (represented by rectangles and which may, for example, comprise personal computers or computer workstations), and IP-forwarding devices 125, 130, 135, 140, 145 and 150 (represented by circles and which may, for example, comprise IP routers). The network devices in FIG. 1 are interconnected by a various bi-directional connections or links 160, 162, 164, 166, 168, 170, 172, 174, 176, 178 and 180, represented in FIG. 1 by two-headed arrows.
Links 160-180 may comprise direct physical connections between the adjacent network devices, or may comprise logical connections that involve intermediate devices, but are “seen” by the connected devices as direct connections. For example, network device 110 is connected to network device 130 via link 166. That is, network device 110 knows that if it sends a communication via its interface port connected to link 166, the communication will be received by network device 130. It doesn't matter to network device 110 whether link 166 is a single, physical connection, or a series of physical connections. Logical links such as links 160-180 that connect two network devices are sometimes referred to as “IP links.” The term “IP links” as used herein includes logical links that use the IP protocol, as well as logical links utilizing other protocols, e.g., MPLS.
In the network portrayed in FIG. 1, network device 110 is connected directly (via link 166) only to network device 130. For network device 110 to communicate to any other network device, the IP forwarding capabilities of network device 130 must be used. In addition to network device 110, to which it is connected via link 166, network device 130 has direct connections to three other network devices 125, 135, and 145, via respective links 160, 168, and 176. Typically, each of links 160, 166, 168 and 176 are connected to separate ports on network device 130. Each port may be a separate physical interface, or two or more ports may share a single, physical interface. Each port may have its own unique assigned IP address, in which case network device 130, as well of each of its ports, may have distinct IP addresses.
Network device 130 of FIG. 1 has been defined to have IP forwarding capabilities. IP forwarding capabilities means that network device 130 must be able to receive an IP packet (intended for delivery to a network device other than network device 130) from one of the IP links to which it is connected, and forward the IP packet along at least one of the other IP links to which it is connected. In the general case where network device 130 is a typical router, network device 130 is able to receive and forward IP packets from and to any of the IP links 160, 166, 168 and 176 to which it is connected, provided, of course, that the links are functional. Similarly, the other network devices 125, 135, 140, 145, and 150 with IP forwarding capabilities are able to receive and forward IP packets from and to any of the IP links to which they are connected.
Should network device 110 wish to communication with, for example, network device 115, there are various paths that the communication could take. The most direct path comprises links 166, 176, and 178. However, other paths include the path comprising links 166, 168, 174, 180 and 178, or even the path comprising links 166, 160, 162, 174, 180 and 178. When network device 110 sends out IP packets to network device 115, it does not know which path the packets will take. Network device 110 simply addresses the packets to network device 115 using network device 115's IP number (129.111.110.9 in the example of FIG. 1), and sends the packets out over link 166 toward network device 130. What network device 130 does with the packets after receipt depends upon the configuration of network device 130. For example, network device 130 may be configured to forward any packet received from link 166 along link 176. Alternately, network device 130 may be configured to forward packets along links depending on the destination IP number of the packet. Network device 130 may also be programmed to monitor traffic along each link and to adapt its forwarding scheme to traffic conditions. The manner in which a network device forwards packets depends on the capabilities and configuration of the particular network device.
Thus, even from the simple network illustrated in FIG. 1, it is apparent that network devices that perform IP forwarding should be properly configured for maximum interoperability to ensure that packets are efficiently routed to their intended destination. The configuration of network devices within a network is one aspect of network management. Network devices may be locally managed or remotely (centrally) managed. Local management of a network device may be accomplished using a workstation or terminal directly connected to the network device. Remote management of a network device may be accomplished from remote terminals or workstations that communicate with the network device via the network, if the network device utilizes a protocol that permits remote management. One protocol used for remote management of network devices is Simple Network Management Protocol (SNMP), which provides a set of commands and parameters that allow communication with and configuration of network devices.
Personnel responsible for management of a network are commonly referred to as network managers. Network management software systems provide tools for network managers to facilitate central management of network devices, particularly when the network devices are widely dispersed geographically or quite numerous. To manage a network device, a network manager must know that the network device exists, how it is connected to the network and to other network devices, and what the capabilities of the network device are. In addition to the network device utilizing a protocol that permits remote management, the network management system used by the network manager must be capable of communication with the network device using the correct protocol.
The configuration of large networks changes frequently due to addition, removal and/or replacement of network devices. To effectively manage large networks such that IP packets are routed correctly over the network, the network manager must know when data forwarding network devices are added or removed. One system used to discover network devices with data forwarding capabilities is described in U.S. patent application Ser. No. 10/029,124, filed Dec. 19, 2001, titled “Method and Apparatus for Automatic Discovery of Network Devices with Data Forwarding Capabilities,” assigned to the assignee of the present invention and incorporated by reference herein.
Small networks, i.e., those in which the entire network encompasses a handful of network devices in a localized environment, are relatively easy for a network manager to physically inspect or determine when a network device is added or removed. In large, geographically dispersed networks with hundreds of network devices, however, it is impossible for the network manager to perform a first hand inspection to determine the state of the entire network at any given time.
A managed network often encompasses a plurality of subnets. A subnet is a group of network devices belonging to a specific block, or subset, of IP addresses. For example, one type of subnet comprises IP numbers that share the first three octets, as for example 215.223.46.x (where “x” can be any number from 0 to 255). Larger subnets may share only the first two octets (e.g. 215.223.x.y). In addition to subnets, networks may also include individual IP numbers or ranges of IP numbers. A network manager generally knows which subnets are included in the network being managed. However, the network manager will not necessarily know beforehand the IP number of a network device to be added to a network, particularly if the IP number is not within one of the network's known subnets.
In addition to knowing the identity and physical configuration of the network devices themselves, it is also important for the network manager to be able to monitor logical connections between network devices. A logical connection exists between network devices when at least one port of a first network device is configured so that a message sent out through that port would arrive at a known destination (either a network address or a second network device). The destination may be a particular port or interface on another network device, a particular IP address, or a particular subnetwork. One system used to discover logical links between network devices is described in U.S. patent application Ser. No. 10/029,123, filed Dec. 19, 2001, titled “Method and Apparatus for Automatic Discovery of Logical Links between Network Devices,” assigned to the assignee of the present invention, and incorporated by reference herein.
Several prior art network management systems provide tools that allow a network manager to gather certain information about network devices within the network. For example, one prior art system allows a network manager to send queries to each possible IP number in a subnet or other range of IP numbers (“IP number polling”) to determine whether a network device is associated with that IP number. If a network device is found, it is automatically added to the network management system's database of managed network devices. This prior art network device discovery system thus ascertains newly added network devices, however, it cannot distinguish between network devices with IP forwarding capabilities and those without. Furthermore, it does not discover network devices outside of the range of IP numbers being searched, nor does it allow a network manager to exert control over which of the newly discovered network devices are to be managed by the network management system.
Other prior art network management systems are only capable of creating and configuring network devices (routers) on a per router basis only, nor do they employ an “IP link” concept for configuring both endpoints (router interfaces) at the same time. This limitation is often prone to errors. Many prior art network management applications perform IP link configuration using Command Line Interface (CLI) scripts, which are command driven, text-based user interfaces to a network device. CLI scripts tend to be error prone and are not easy to debug. In addition, prior art applications do not provide an IP link network provisioning which includes the Asynchronous Transfer Mode (ATM) path.
Therefore, what is needed is a method of network management that provides the ability to provision both ends of the IP link at the same time, facilitate the matching of the parameters, and handle the underlying layers through one graphical user interface (GUI).